import TreeManager from "../../components/business/tree-form/tree-manager.ts"
import SearchFormManager from "../../components/business/search-form/search-form-manager.ts"
import ProgramFormManager from "../../components/business/program-form/program-form-manager.ts"

/**
 * 树型页面
 */
class PageTreeManager<Model> {
    /**
     * 请求地址
     */
    url?: string
    /**
     * 标题
     */
    title?: string
    /**
     * 处理数据方法
     */
    getDataCallBack?: (data: any) => any
    /**
     * 自定义参数
     */
    otherParams?: Partial<Model>
    /**
     * 筛选组件
     */
    searchForm?: SearchFormManager<Model>
    /**
     * 功能组件模型
     */
    programForm?: ProgramFormManager
    /**
     * 底部按钮
     */
    bottom?: ButtonModel<Model>
    /**
     * 树型模型
     */
    tree?: TreeManager
}

/**
 * 暴露
 */
export default PageTreeManager